package br.com.pucrs.tcc.rn;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.ejb.Remote;

import org.primefaces.model.UploadedFile;

import br.com.pucrs.tcc.ed.Aluno;
import br.com.pucrs.tcc.ed.GrupoTrabalho;
import br.com.pucrs.tcc.ed.Telefone;
import br.com.pucrs.tcc.exception.AlunoException;
import br.com.pucrs.tcc.exception.ArquivoInvalidoException;

@Remote
public interface AlunoRN {
	
	public List<Aluno> montaPrecadastro(UploadedFile arquivo) throws ArquivoInvalidoException, IOException;
	
	public boolean incluiPrecadastro(List<Aluno> aluno);
	
	public Aluno obter(String matricula);
	
	public List<Aluno> listaPorGrupo(GrupoTrabalho grupo);
	
	public boolean temGrupo(String matricula);

	public boolean alterar(Aluno aluno, ArrayList<Telefone> fones) throws AlunoException;
	
	public List<Aluno> lista();
	
	public List<Aluno> lista(Aluno aluno);

	public boolean remover(Aluno alunoRemove) throws AlunoException;

	public Aluno incluir(Aluno aluno) throws AlunoException;
}
